home *** CD-ROM | disk | FTP | other *** search
-
- -- -----------------------------------------------------------------
- -- Init
- -- -----------------------------------------------------------------
- local function prog_init()
- initModels()
- sound_playMusic("music/rybky15.ogg")
- local pokus = getRestartCount()
- local roompole = createArray(1)
-
-
- -- -------------------------------------------------------------
- local function prog_init_room()
- local pom1, pom2, pomb1, pomb2 = 0, 0, false, false
-
- if pokus == 1 then
- room.cast1 = 0
- else
- room.cast1 = 2
- end
- room.ocel1 = 0
- room.osejvu = 0
- room.cast2 = 0
- room.restartovat = 0
- room.neuvazovat = 0
- room.nepoustej = 0
- room.uhnimi = 0
- room.mamstrach = 0
- room.oknize = 0
- room.delayrada = -1
- room.poslrada = 0
-
- return function()
- if roompole[0] == 1 and room.restartovat == 0 and isReady(big) and isReady(small) and no_dialog() then
- roompole[0] = 2
- addv(10, "pra-v-schvalne")
- addm(5, "pra-m-znovu")
- end
- if no_dialog() and isReady(small) and isReady(big) and roompole[0] == 0 then
- if room.delayrada > 0 then
- room.delayrada = room.delayrada - 1
- end
- if room.cast1 == 0 then
- room.cast1 = 1
- addm(random(20) + 10, "pra-m-pravidla")
- elseif room.cast1 == 1 and big.Y == tal.Y + 1 and small.Y > tal.Y + 1 then
- room.cast1 = 2
- addv(5, "pra-v-klesnout")
- elseif room.cast1 <= 2 and snek.X == 5 and tal.Y == 26 and big.Y == 27 then
- room.cast1 = 3
- addv(5, "pra-v-nahore")
- elseif room.ocel1 == 0 and val1.X == 11 and small.X == 8 and not small:isLeft() then
- room.ocel1 = 1
- addm(5, "pra-m-nepohnu")
- elseif room.cast1 <= 3 and big.X == 9 and sek.Y == 24 then
- room.cast1 = 4
- addm(0, "pra-m-zpatky")
- elseif room.osejvu == 0 and sek.Y == 27 and (small.X > 15 or big.X > 15) then
- room.osejvu = 1
- addv(5, "pra-v-problem")
- addm(5, "pra-m-reseni")
- elseif room.cast2 == 0 and (small.X >= 22 or big.X >= 21) and jah.X == 22 then
- room.cast2 = 1
- addv(15, "pra-v-zapeklita")
- addm(15 + random(15), "pra-m-vyrazit")
- addv(5, "pra-v-dobrynapad")
- elseif room.cast2 < 2 and sek.X == 14 and sek.Y == 27 and small.X == 15 and small.Y == 28 then
- if jah.X > 19 then
- room.cast2 = 3
- addv(0, "pra-v-vzit")
- addm(5, "pra-m-prisun")
- end
- elseif room.cast2 < 2 and sek.X == 14 and sek.Y == 27 and jah.X < 22 and (small.X >= 20 or small.Y <= 28) then
- room.cast2 = 3
- addm(10, "pra-m-chytit")
- addv(20 + random(60), "pra-v-spatne")
- room.restartovat = 1
- elseif room.restartovat == 0 and mer.X == 35 and mer.Y == 30 then
- addv(10 + random(30), "pra-v-spatne")
- room.restartovat = 1
- elseif room.osejvu == 1 and small.X >= 29 and big.X >= 29 and (small.Y < 19 or big.Y < 19) then
- addv(random(40), "pra-v-ukladani")
- room.osejvu = 2
- elseif room.neuvazovat == 0 and small.Y == 21 and small.X >= 23 and small.X <= 28 and small:isLeft() then
- room.neuvazovat = 1
- addm(2, "pra-m-uvazovat")
- elseif room.nepoustej == 0 and soup.Y <= 10 and small.Y >= 14 and small.X >= 22 then
- room.nepoustej = 1
- addm(5, "pra-m-pustis")
- elseif room.uhnimi ~= 1 and soup.Y == 9 and small.X >= 22 and small.X <= 24 and small.Y >= 11 and small.Y <= 12 then
- room.uhnimi = 1
- addv(5, "pra-v-zavazis")
- elseif room.uhnimi == 1 and soup.Y == 9 and (small.X > 26 or small.Y > 13) then
- room.uhnimi = 2
- elseif room.mamstrach == 0 and room.uhnimi > 0 and soup.Y <= 10 and small.X >= 32 and small.Y >= 13 and small.Y <= 14 then
- room.mamstrach = 1
- addm(5, "pra-m-strach")
- addv(5, "pra-v-prekvapit")
- elseif room.restartovat == 0 and small.Y >= 14 and small.X >= 23 and small.X < 34 and big.Y < soup.Y then
- addv(10 + random(30), "pra-v-spatne")
- room.restartovat = 1
- elseif room.oknize == 0 and small.Y < 10 then
- room.oknize = 1
- addm(20, "pra-m-kniha")
- addv(2, "pra-v-valec")
- addm(10, "pra-m-jakudelat")
- addv(5, "pra-v-nezapomen")
- elseif room.oknize == 1 and knih.X == 26 and knih.Y == 7 then
- room.oknize = 2
- room.delayrada = random(50) + 100
- elseif room.delayrada == 0 and knih.X == 26 then
- if big.Y <= 3 or room.poslrada == 2 then
- addv(10, "pra-v-nezapomen")
- room.poslrada = 1
- room.delayrada = random(300) + 150
- else
- addv(10, "pra-v-objet")
- if room.poslrada == 0 then
- addm(0, "pra-m-neradit")
- end
- room.poslrada = 2
- room.delayrada = random(50) + 50
- end
- elseif room.restartovat == 0 and svic.X == 3 and svic.Y >= 21 and svic.Y <= 22 and svic.dir == dir_no then
- room.restartovat = 1
- roompole[0] = 1
- addm(10, "pra-m-stava")
- addv(0, "pra-v-dopredu")
- addm(5, "pra-m-restart")
- elseif room.restartovat == 0 and val2.X == 15 and val2.Y == 11 then
- addv(10 + random(30), "pra-v-spatne")
- room.restartovat = 1
- end
- end
- end
- end
-
- -- -------------------------------------------------------------
- local function prog_init_soup()
- return function()
- if soup.dir ~= dir_no then
- room.osejvu = 2
- end
- end
- end
-
- -- --------------------
- local update_table = {}
- local subinit
- subinit = prog_init_room()
- if subinit then
- table.insert(update_table, subinit)
- end
- subinit = prog_init_soup()
- if subinit then
- table.insert(update_table, subinit)
- end
- return update_table
- end
- local update_table = prog_init()
-
-
- -- -----------------------------------------------------------------
- -- Update
- -- -----------------------------------------------------------------
- function prog_update()
- for key, subupdate in pairs(update_table) do
- subupdate()
- end
- end
-
-